﻿// Public Class FileService
// Implements BaseFileService




// Private m_FileService As BaseFileService

// Public Sub New(ByVal Item As FileServiceInfo)
// Select Case Item.SourceType
// Case FileServiceType.FTP
// m_FileService = New Marmat.Data.FtpClient()
// Dim Ftp As Marmat.Data.FtpClient = m_FileService
// Case FileServiceType.AliYun
// End Select
// End Sub

// Public Function Delete(FileName As String) As Boolean Implements BaseFileService.Delete
// Return Me.m_FileService.Delete(FileName)
// End Function

// Public Function Download(SourceFileName As String, DestinationFileName As String) As Boolean Implements BaseFileService.Download
// Return Me.m_FileService.Download(SourceFileName, DestinationFileName)
// End Function

// Public Sub DownloadAsync(SourceFileName As String, DestinationFileName As String) Implements BaseFileService.DownloadAsync
// Me.m_FileService.DownloadAsync(SourceFileName, DestinationFileName)
// End Sub

// Public Function GeneratePresignedUri(FileName As String) As Uri Implements BaseFileService.GeneratePresignedUri
// Return Me.m_FileService.GeneratePresignedUri(FileName)
// End Function

// Public Function GeneratePresignedUri(FileName As String, Width As Integer, Height As Integer) As Uri Implements BaseFileService.GeneratePresignedUri
// Return Me.m_FileService.GeneratePresignedUri(FileName, Width, Height)
// End Function

// Public Property ImgService As Uri Implements BaseFileService.ImgService

// Public Function Upload(SourceFileName As String, DestinationFileName As String) As Boolean Implements BaseFileService.Upload
// Return Me.m_FileService.Upload(SourceFileName, DestinationFileName)
// End Function

// Public Sub UploadAsync(SourceFileName As String, DestinationFileName As String) Implements BaseFileService.UploadAsync
// Me.m_FileService.UploadAsync(SourceFileName, DestinationFileName)
// End Sub

// Public Event DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Implements BaseFileService.DownloadProgressChanged
// Public Event DownloadDataCompleted(sender As Object, e As DownloadDataCompletedEventArgs) Implements BaseFileService.DownloadDataCompleted
// Public Event DownloadFileCompleted(sender As Object, e As AsyncCompletedEventArgs) Implements BaseFileService.DownloadFileCompleted
// Public Event UploadProgressChanged(sender As Object, e As UploadProgressChangedEventArgs) Implements BaseFileService.UploadProgressChanged
// Public Event UploadDataCompleted(sender As Object, e As UploadDataCompletedEventArgs) Implements BaseFileService.UploadDataCompleted
// Public Event UploadFileCompleted(sender As Object, e As UploadFileCompletedEventArgs) Implements BaseFileService.UploadFileCompleted
// End Class
// Public Class FileService
// Implements BaseFileService




// Private m_FileService As BaseFileService

// Public Sub New(ByVal Item As FileServiceInfo)
// Select Case Item.SourceType
// Case FileServiceType.FTP
// m_FileService = New Marmat.Data.FtpClient()
// Dim Ftp As Marmat.Data.FtpClient = m_FileService
// Case FileServiceType.AliYun
// End Select
// End Sub

// Public Function Delete(FileName As String) As Boolean Implements BaseFileService.Delete
// Return Me.m_FileService.Delete(FileName)
// End Function

// Public Function Download(SourceFileName As String, DestinationFileName As String) As Boolean Implements BaseFileService.Download
// Return Me.m_FileService.Download(SourceFileName, DestinationFileName)
// End Function

// Public Sub DownloadAsync(SourceFileName As String, DestinationFileName As String) Implements BaseFileService.DownloadAsync
// Me.m_FileService.DownloadAsync(SourceFileName, DestinationFileName)
// End Sub

// Public Function GeneratePresignedUri(FileName As String) As Uri Implements BaseFileService.GeneratePresignedUri
// Return Me.m_FileService.GeneratePresignedUri(FileName)
// End Function

// Public Function GeneratePresignedUri(FileName As String, Width As Integer, Height As Integer) As Uri Implements BaseFileService.GeneratePresignedUri
// Return Me.m_FileService.GeneratePresignedUri(FileName, Width, Height)
// End Function

// Public Property ImgService As Uri Implements BaseFileService.ImgService

// Public Function Upload(SourceFileName As String, DestinationFileName As String) As Boolean Implements BaseFileService.Upload
// Return Me.m_FileService.Upload(SourceFileName, DestinationFileName)
// End Function

// Public Sub UploadAsync(SourceFileName As String, DestinationFileName As String) Implements BaseFileService.UploadAsync
// Me.m_FileService.UploadAsync(SourceFileName, DestinationFileName)
// End Sub

// Public Event DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Implements BaseFileService.DownloadProgressChanged
// Public Event DownloadDataCompleted(sender As Object, e As DownloadDataCompletedEventArgs) Implements BaseFileService.DownloadDataCompleted
// Public Event DownloadFileCompleted(sender As Object, e As AsyncCompletedEventArgs) Implements BaseFileService.DownloadFileCompleted
// Public Event UploadProgressChanged(sender As Object, e As UploadProgressChangedEventArgs) Implements BaseFileService.UploadProgressChanged
// Public Event UploadDataCompleted(sender As Object, e As UploadDataCompletedEventArgs) Implements BaseFileService.UploadDataCompleted
// Public Event UploadFileCompleted(sender As Object, e As UploadFileCompletedEventArgs) Implements BaseFileService.UploadFileCompleted
// End Class
